package com.kjs.web.dao.mapper;

/**
 * @author xuedingjiexueergou@gmail.com
 * @date 2018/10/11 16:46
 */

import java.util.List;

public interface IBaseMapper<PO, K> {
    /**
     * 根据id获取到对象记录
     *
     * @param id 对象的主键id
     * @return 对象实体
     */
    PO getById(K id);

    /**
     * 根据id列表获取实体对象列表
     *
     * @param ids 主键id列表
     * @return 对象实体列表
     */
    List<PO> getByIds(List<K> ids);

    /**
     * 插入对象记录到数据表
     *
     * @param record 对象实体
     */
    K insert(PO record);

    /**
     * 根据对象进行更新
     *
     * @param record 对象实体
     */
    int update(PO record);

    /**
     * 根据主键删除记录
     *
     * @param id 主键值
     */
    void delete(K id);
}
